<?php

namespace app\admin\controller;

class Image extends AdminBase
{
    public function upload()
    {
        if (!$this->request->isPost()) {
            return show(config("status.error"), "请求不合法");
        }
        $file = $this->request->file('file');
        // 1 上传类型判断，陪png、gif、jpg 2 文件大小限制 600kb
        $imageType = $file->getOriginalMime();
        $imageType = substr($imageType, 6);
        if (!in_array($imageType, ['png', 'webp', 'jpg', 'jpeg'])) {
            return show(config("status.error"), "不支持该类型图片");
        }
//        dump($file->getSize());exit();
        if ($file->getSize() > 600 * 1000) {
            return show(config("status.error"), "该图片过大，请重试");
        }

        $fileName = \think\facade\Filesystem::disk('public')->putFile('image', $file);

        if (!$fileName) {
            return show("status.error", "上传图片失败");
        }
        $imageUrl = [
            'image' => "/upload/" . $fileName
        ];
        return show(config("status.success"), "上传图片成功", $imageUrl);
    }

    public function layUpload()
    {
        if (!$this->request->isPost()) {
            return show(config("status.error"), "请求不合法");
        }
        $file = $this->request->file('file');
        // 1 上传类型判断，陪png、gif、jpg 2 文件大小限制 600kb
        $imageType = $file->getOriginalMime();
        $imageType = substr($imageType, 6);
        if (!in_array($imageType, ['png', 'webp', 'jpg', 'jpeg'])) {
            return show(config("status.error"), "不支持该类型图片");
        }
//        dump($file->getSize());exit();
        if ($file->getSize() > 600 * 1000) {
            return show(config("status.error"), "该图片过大，请重试");
        }

        $fileName = \think\facade\Filesystem::disk('public')->putFile('image', $file);
        if (!$fileName) {
//            return json(['code' => 1, 'data' => []], 200);
            return showJson(1, [], 200);
        }
//        $result = [
//            'code' => 0,
//            'data' => [
//                'src' => "/upload/" . $fileName
//            ]
//        ];

        return showJson(0,['src' => "/upload/" . $fileName], 200);

    }
}